/***********************************************************************************************************************
 * ############################################# Application AdewebLite #############################################
 * AdewebLite Android est une application permettant de consulter des emplois du temps fournis par l'université UHP
 * avec ou sans connexion internet (informations gardées en mémoire à chaque synchronisation). Et utilisant la web
 * API ADE pour collecter les données.
 * @author Andrianjafintrimo Victor, Zanette Sébastien
 * 
 * Basée sur l'application du même nom, utilisant le flux RSS (données à traiter), de :
 * @author Schnell Michaël, Zanette Sébastien
 * **********************************************************************************************************************
 */

package ade.prime.analyzer;

/**
 * Classe représentant le flux de données qui contient les informations d'un cours
 *@author  Zanette Sébastien, Andrianjafintrimo Victor
 */
public class FeedLesson extends Feed{


	private String name;
	private String date;
	private String endHour;
	private String startHour;
	private String creation;
	private String update;
	private String color;
	private String note;

	private FeedResources resources;
	//private HashMap<String,String> ressources;
	//private ArrayList<FeedResource> resources;

	/**
	 * Constructeur de FeedLesson, appelle le constructeur de Feed
	 */
	public FeedLesson() {
		super();
	}

	/**
	 * Positionne le champ creation à la valeur donnée en paramètre
	 * @param creation chaîne de caractères contenant la date de création du cours
	 */
	public void setCreation(String creation) {
		this.creation = creation;
	}

	/**
	 * Positionne le champ date à la valeur donnée en paramètre
	 * @param date chaîne de caractères contenant la date du cours
	 */
	public void setDate(String date) {
		this.date = date;
	}

	/**
	 * Positionne le champ endHour à la valeur donnée en paramètre
	 * @param endHour  chaîne de caractères contenant l'heure de fin d'un cours
	 */
	public void setEndHour(String endHour) {
		this.endHour = endHour;
	}

	/**
	 * Positionne le champ name à la valeur donnée en paramètre
	 * @param name chaîne de caractères contenant le nom d'un cours
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * Positionne le champ startHour à la valeur donnée en paramètre
	 * @param startHour chaîne de caractères contenant l'heure de début d'un cours
	 */
	public void setStartHour(String startHour) {
		this.startHour = startHour;
	}

	/**
	 * Positionne le champ update à la valeur donnée en paramètre
	 * @param update chaiîne de caractères contenant la date de mis à jour de l'emploi du temps
	 */
	public void setUpdate(String update) {
		this.update = update;
	}

	/**
	 * Positionne le champ color à la valeur donnée en paramètre.
	 * @param color chaîne de caractères contenant la couleur avec laquelle est affichée le cours
	 */
	public void setColor(String color) {
		this.color = color;
	}

	/**
	 * Positionne le champ note à la valeur donnée en paramètre.
	 * @param note chaîne de caractères contenant la note de cours
	 */
	public void setNote(String note) {
		this.note = note;
	}


	/**
	 * Retourne la valeur du champ creation
	 * @return la date de création du cours
	 */
	public String getCreation() {
		return creation;
	}

	/**
	 * Retourne la valeur du champ date
	 * @return la date du cours
	 */
	public String getDate() {
		return date;
	}

	/**
	 * Retourne la valeur du champ endHour
	 * @return l'heure de fin du cours
	 */
	public String getEndHour() {
		return endHour;
	}

	/**
	 * Retourne la valeur du champ name
	 * @return le nom du cours
	 */
	public String getName() {
		return name;
	}

	/**
	 * Retourne la valeur du champ startHour
	 * @return l'heure de début du cours
	 */
	public String getStartHour() {
		return startHour;
	}

	/**
	 * Retourne la valeur du champ update
	 * @return la date de mis à jour du cours
	 */
	public String getUpdate() {
		return update;
	}

	/**
	 * Retourne la valeur du champ color
	 * @return la coleur avec laquelle est affichée le cours
	 */
	public String getColor() {
		return color;
	}

	/**
	 * Retourne la valeur du champ note
	 * @return la note du cours
	 */
	public String getNote() {
		return note;
	}

	/**
	 * Posisionne le champ ressources à la valeur donnée en paramètre
	 * @param resources {@code  FeedResources} contenant les numéros des ressources qui composent le cours
	 */
	public void setResources(FeedResources resources) {
		this.resources = resources;
	}
	/**
	 * Retourne la valeur du du champ ressource
	 * @return {@code FeedResource} contenant les numéros des ressources qui composent le cours 
	 */
	public FeedResources getResources() {
		return this.resources;
	}

	/**
	 * Retourne une chaîne de caractères contenant les informations de la structure {@code  FeedLesson}
	 * @return 
	 */
	@Override
	public String toString() {               
		return "Feed :\n[Id=" + this.id +"\nCours=" + this.name +"\nDate=" + this.date +"\nDateDébut=" + this.startHour +"\nDateFin=" + this.endHour + "\ncrééle=" + this.creation + "\nupDate=" + this.update + "\ncolor=" + this.color + "\nnote=" + this.note + "\nRessources=" + this.resources + "]";
	}


}
